Article

2026-07-09 Arkon Fullstack Challenge V1 自测计划

临时-Arkon Challenge

Arkon Fullstack Challenge V1 自测计划

文档编号:AFSC-QA-PLAN-V1

1. 编写目的

本计划用于定义该评估漏斗项目的本地回归验证范围,目标是在交付前覆盖工程正确性与演示观感两类风险,重点包括:

  • 表单校验行为
  • 进度恢复行为
  • 子路径兼容行为
  • 免费态与解锁态结果门控行为
  • 本地自动化可重复执行能力

2. 测试环境说明

  • 项目路径:/Users/xuhuan/workspace_new/project/arkon-fullstack-challenge
  • 本地访问地址:http://127.0.0.1:3101/labs/arkon-challenge
  • Node 版本:v20.19.6
  • 浏览器自动化工具:Playwright Chromium
  • 子路径配置:NEXT_PUBLIC_BASE_PATH=/labs/arkon-challenge

3. 准入与准出条件

3.1 准入条件

  • 依赖已安装完成
  • 本地会话存储可正常使用
  • 项目可以正常构建

3.2 准出条件

  • 核心链路自动化检查通过
  • 页面中不出现原始校验 payload 泄漏
  • 四步流程不存在阻断级问题

4. 测试策略

  • 静态质量门:lint、单元测试、生产构建
  • 浏览器门禁:Playwright 全流程验证
  • 交互重点:错误提示、刷新恢复、结果门控、支付解锁
  • 回归规模:保留 60 条本地回归用例,并要求本轮全量执行

5. 执行命令

  • npm run lint
  • npm test
  • NEXT_PUBLIC_BASE_PATH=/labs/arkon-challenge npm run build
  • NEXT_PUBLIC_BASE_PATH=/labs/arkon-challenge npm run dev -- --hostname 127.0.0.1 --port 3101
  • SMOKE_BASE_URL=http://127.0.0.1:3101/labs/arkon-challenge npm run smoke:e2e
  • SMOKE_BASE_URL=http://127.0.0.1:3101/labs/arkon-challenge npm run selfcheck:full

6. 回归测试用例矩阵

A. 启动与会话类用例

编号用例说明优先级执行方式
T001首页 Hero 标题正常渲染P0Playwright
T002首次访问自动创建会话P0Playwright
T003会话创建后本地写入 localStorageP1自动化/浏览器
T004已有会话在刷新后恢复已保存草稿P0Playwright
T005已有会话恢复后当前步骤正确P1Playwright
T006本地残留失效 session 时自动清理并重建P1Playwright/API
T007会话创建完成前,“当前结果页”链接为占位态P2Playwright
T008会话创建完成后,“当前结果页”链接指向当前 sessionP1Playwright

B. 第一步身份信息用例

编号用例说明优先级执行方式
T009第一步初始状态下未默认选中性别P2Playwright
T010选择 Female 后按钮高亮正确P2Playwright
T011选择 Male 后按钮高亮正确P2Playwright
T012未选性别不能继续下一步P0Playwright
T013未选性别时显示可读错误提示P0Playwright
T014第一步保存后性别值被持久化P0Playwright
T015第一步成功后进入第二步P0Playwright

C. 第二步身体数据用例

编号用例说明优先级执行方式
T016年龄为空时阻止继续P0Playwright
T017身高为空时阻止继续P0Playwright
T018当前体重为空时阻止继续P0Playwright
T019年龄小于 18 时显示友好提示P0Playwright
T020年龄大于 80 时显示友好提示P1Playwright
T021身高小于 130 时显示友好提示P0Playwright
T022身高大于 230 时显示友好提示P1Playwright
T023体重小于 35 时显示友好提示P0Playwright
T024体重大于 250 时显示友好提示P1Playwright
T025第二步校验失败时页面不出现原始 schema JSONP0Playwright
T026第二步合法输入可正常保存P0Playwright
T027第二步点击返回可回到第一步且内存态不丢失P2Playwright

D. 第三步目标设置用例

编号用例说明优先级执行方式
T028未选择目标时不能继续P0Playwright
T029目标体重为空时不能继续P0Playwright
T030目标体重小于 35 时显示友好提示P1Playwright
T031目标体重大于 250 时显示友好提示P1Playwright
T032目标体重高于当前体重 20kg 以上时被拒绝P0Playwright
T033目标选项按钮高亮正确P2Playwright
T034第三步合法输入可正常保存P0Playwright
T035第三步点击返回可回到第二步P2Playwright
T036从第二步再次进入第三步后,之前输入的目标数据仍保留P1Playwright

E. 第四步活动水平与提交用例

编号用例说明优先级执行方式
T037未选活动水平时不能提交P0Playwright
T038未选活动水平时显示友好提示P0Playwright
T039活动水平按钮高亮正确P2Playwright
T040最终提交前会先保存第四步活动水平P0Playwright/请求观察
T041关键字段缺失时服务端拒绝提交P0单元测试/API
T042合法提交后跳转到结果页P0Playwright
T043合法提交后不会卡在第四步原地不动P0Playwright

F. 结果门控用例

编号用例说明优先级执行方式
T044提交成功后结果页正常加载P0Playwright
T045免费态显示预览标识P0Playwright
T046免费态隐藏热量建议值P0Playwright
T047免费态隐藏每周节奏值P1Playwright
T048免费态隐藏目标日期值P1Playwright
T049免费态 hiddenFields 数量与内容正确P1API
T050结果页返回漏斗入口链接在子路径下正确P1Playwright

G. 支付模拟与解锁用例

编号用例说明优先级执行方式
T051免费态结果页可成功触发模拟支付回调P0Playwright/API
T052支付后状态切换为解锁态P0Playwright/API
T053支付后热量建议字段可见P0Playwright/API
T054支付后每周节奏字段可见P1Playwright/API
T055支付后目标日期字段可见P1Playwright/API
T056解锁后刷新页面,结果仍保持解锁态P1Playwright

H. 技术与部署安全用例

编号用例说明优先级执行方式
T057所有客户端请求在 base path 下可正常工作P0Playwright
T058所有客户端跳转在 base path 下可正常工作P0Playwright
T059本地 lint、单元测试、生产构建均通过P0CLI
T060本地 Playwright 全量自测可无人值守执行完成P0CLI

7. 本轮执行策略

本轮要求对 T001-T060 全量执行,不留“仅库存未执行”项。

执行分组如下:

  • A 组:启动、恢复、本地存储相关行为
  • B 组:第一步到第四步输入校验、导航、返回行为
  • C 组:结果页门控、支付解锁、刷新保持状态
  • D 组:CLI 质量门,包括 linttestbuild

8. 暂不覆盖范围

  • 多浏览器兼容性验证(Safari、Firefox)
  • 生产环境真实 PostgreSQL 压测或并发竞争测试
  • 完整无障碍专项测试
  • 真实支付网关联调